Dieses Tutorial beschreibt die Einrichtung und Verwaltung von Cronjobs unter Debian und Ubuntu.
Vorhandene Cronjobs anzeigen lassen:
Um sich einen bereits vorhandenen Cronjob anzeigen zu lassen, verwendet man den Befehl:
crontab -l
Wenn man als Root eingeloggt ist, kann man sich die bereits vorhandenen Cronjobs aller User, mit dem Befehl:
crontab -u user1 -l
anzeigen lassen.
Eigene Cronjobs erstellen:
Um die Cronjob Datei mit dem Standardeditor zu öffnen, verwendet man den Befehl:
crontab -e
Wurde bisher noch kein Cronjob erstellt, befindet sich in der Datei nur eine Zeile, mit der Kurzform der Spaltenbedeutung.
# m h dom mon dow command
m h dom mon dow
| | | | |
| | | | --> Wochentage (0-7)
| | | --------> Monate (1-12)
| | ------------------> Tage im Monat (1-31)
| -----------------------> Stunden (0-23)
--------------------------> Minuten (0-59)
Jeder Stern bzw. jede Zahl wird durch ein Leerzeichen getrennt und am Ende folgt der gewünschte Befehl.
Beispiele:
Startet jeden Tag um 00:10 ein PHP Skript von einer Internetseite:
10 0 * * * /usr/bin/curl deineinternetseite.com/backup.php
Zu jeder vollen Stunde wird ein Zeitabgleich mit einem Zeitserver gestartet:
0 * * * * /usr/sbin/ntpdate zeit.domain.com
Startet jeden Donnerstag um 13:40 ein lokales Shell Skript:
40 13 * * 4 /usr/src/skript.sh
Jeden 23. des Monats um 17:19, wird ein mysqldump aller Datenbanken ausgeführt:
19 17 23 * * /usr/bin/mysqldump -uroot -ppassword --opt --all-databases > /usr/src/dump.sql
Am 1.1. jedes Jahr um 01:00, wird ein Zeitabgleich mit einem Zeitserver gestartet:
0 1 1 1 * /usr/sbin/ntpdate zeit.domain.com
Kommentare
crontab und PATH
moin, moin, ich habe jetzt etliche seiten über cron gelesen, abert schlauer bin ich nicht geworden...
wie die zeitzeile aussehen muß weis ich, aber der PATH und wie das commando aussehen soll, mmmm
wie der erstellt wird weis ich bisher. ich will im kodibuntu, das ding Montag - Freitag 18:00 ausschalten.
mein cron
#----------------------
PATH=/bin/bash
PATH=/usr/sbin:/usr/bin:/sbin:/bin <- hier habe ich mehrere Varianten gefunden, keine geht
00 18 * * 1-5 /usr/bin/shutdown > /dev/null 2>&1
#--------------------
gibt es einen befehl zum aufrufen ob der cron läuft? Wo liegt der Fehler?
ausversehen 2xPATH in der 2.
ausversehen 2xPATH in der 2. zeile
repariert...
Funktioniert es jetzt?
Funktioniert es jetzt, wo du die zweite Zeile entfernt hast? Und wenn nein, hat dein Benutzer, über den du den Cronjob ausführst, auch die entsprechenden Rechte den Rechner herunterzufahren?